package com.ydl.shopping.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ydl.shopping.domain.TbUser;
import com.ydl.shopping.domain.TbUserRole;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Transactional
public interface ITbUserRoleService extends IService<TbUserRole> {

    /**
     * 新增用户角色
     *
     * @param userId 用户ID
     * @param roleIDs 角色IDs
     * @return 错误消息/null
     */
    String saveUserRole(Long userId, List<Long> roleIDs);

    /**
     * 新增用户角色
     *
     * @param roleId 角色ID
     * @param userIDs 用户IDs
     * @return 错误消息/null
     */
    String saveUserRoleByRoleId(Long roleId, List<Long> userIDs);

    /**
     * 获取用户角色Ids
     *
     * @param userId 用户ID
     * @return 角色IDs
     */
    List<Long> getUserRoleIds(Long userId);

    /**
     * 获取指定角色用户
     *
     * @param TbUser 用户信息
     * @return 用户角色集合
     */
    List<TbUserRole> getUserRoleListByRoleId(TbUser TbUser);

    /**
     * 获取非指定角色的用户
     *
     * @param tbUser 用户信息
     * @return 用户角色集合
     */
    List<TbUser> getUserRoleListNotByRoleId(TbUser tbUser);

}
